#ifndef __SCENE_H__
#define __SCENE_H__

#include <list>
#include "framework.h"
#include "./objects/ground.h"
#include "./objects/helicopter.h"
#include "./objects/sceneObject.h"
#include "./actions/gravity.h"

class Scene : public IFrameworkCallbacks {
	private:
		std::list<SceneObject*> listObject;
		Helicopter* helicopter;
		Ground* ground;
		Gravity gravity;
		Rectangle sceneRec;

	public:
		Scene();
		~Scene();
		void timer(int value);
		void init();
		void display();
		void centerScreen();
		void createCrates();
		void createClouds();

		void limitHelicopter();
		void handleClamp();

		void restart();

		void keyboard(unsigned char key,int x ,int y);
		void specKeyboard(int key,int x ,int y);
};

#endif //__SCENE_H__
